In both physical and virtualized computer systems, multiple network connections can be aggregated to provide aggregated network capacity and failover facilities to downstream applications and nodes. Such an aggregation of network connections is commonly referred to as link aggregation, link bundling, network interface controller (NIC) teaming, and NIC bonding. When one of the aggregated links goes down, failover can be achieved by transferring flows from the failed link to one or more other links that are still active. However, in such a case, any packets in the failed link (e.g., in a failed NIC's memory) are lost. Transmission Control Protocol (TCP) assumes that such lost packets, which are identified by either the lack of an acknowledged by the receiving end resulting in a round trip timeout or three duplicate TCP acknowledgments, are caused by network congestion. To reduce such “congestion,” congestion avoidance algorithms are employed, including switching to a congestion avoidance mode in which congestion control windows (cwnd) maintained by TCP for flows associated with the failed link are reduced in size. However, as the packets were actually lost due to link failure rather than network congestion, reducing the size of congestion control windows unnecessarily reduces throughput and results in suboptimal performance, which could be disastrous for bandwidth intense and time-constrained applications. This is especially the case in high latency environments, as the flows in congestion avoidance mode may rediscover the optimal bandwidth at a slow pace.